// <copyright file="api.models.tt" company="Wicture">
//  Copyright ? . All Rights Reserved.
// </copyright>
using System;
using System.Collections.Generic;

namespace Wicture.EPC.Service.Etka
{
    public class AjaxResult<T>
    {
        public string statusCode { get; set; }
        public string errorMessage { get; set; }
        public T data { get; set; }
    }

    public class Pagination
    {
        public int totalCount { get; set; }
        public int pageSize { get; set; }
        public int pageIndex { get; set; }
    }

    public partial class Get_Model_InfoParam
    {
        public string id { get; set; }
        public string vin { get; set; }
        public string brandCode { get; set; }
    }

    public partial class Get_Model_InfoResult
    {
        public string selectorId { set; get; }
        public string modelId { set; get; }
        public string vin { get; set; }
        public string code { get; set; }
        public string name { get; set; }
        public string fullName { set; get; }
        public string brandCode { get; set; }
        public string brandName { get; set; }
        public string description { get; set; }
        public string imageUrl { get; set; }
        public string selectorType { get; set; }
        public partial class _props
        {
            public string key { get; set; }
            public string value { get; set; }
        }
        public List<_props> props { get; set; }
        public partial class _features
        {
            public string key { get; set; }
            public string value { get; set; }
        }
        public List<_features> features { get; set; }
    }

    public partial class Query_MainGroupParam
    {
        public string id { get; set; }
        public string vin { get; set; }
        public string brandCode { get; set; }
    }

    public partial class Query_MainGroupResult
    {
        public string id { get; set; }
        public string code { get; set; }
        public string name { get; set; }
        public string imageUrl { get; set; }
        public int? selectorId { get; set; }
        public bool? isSelected { get; set; }
        public bool isBelongTo { set; get; } = true;
    }

    public partial class Query_SubGroupParam
    {
        public string id { get; set; }
        public string vin { get; set; }
        public string brandCode { get; set; }
        public int? selectorId { get; set; }
        public string keyword { get; set; }
    }

    public partial class Query_SubGroupResult
    {
        public string id { get; set; }
        public string code { get; set; }
        public string name { get; set; }
        public string mainGroupId { get; set; }
        public string mainGroupCode { get; set; }
        public string description { get; set; }
        public bool belongTo { get; set; } = true;
        public string imageUrl { get; set; }
        public string imageSN { get; set; }
        public string remark { get; set; }
        public string applicableModel { get; set; }
        public int? selectorId { get; set; }
        public string subGroupDescCodes { set; get; }
    }

    public partial class Query_HotPointsParam
    {
        public string id { get; set; }
        public string brandCode { get; set; }
        public string vin { get; set; }
        public string selectorId { get; set; }
    }

    public partial class Query_HotPointsResult
    {
        public partial class _imgs
        {
            public string url { get; set; }
            public partial class _points
            {
                public string sn { get; set; }
                public string x { get; set; }
                public string y { get; set; }
                public string w { get; set; }
                public string h { get; set; }
            }
            public List<_points> points { get; set; }
        }
        public List<_imgs> imgs { get; set; }
    }

    public partial class Model_SelectorParam
    {
        public string id { get; set; }
        public string route { get; set; }
        public string brandCode { get; set; }
        public string vin { get; set; }
    }

    public partial class Model_SelectorResult
    {
        public string title { get; set; }
        public partial class _items
        {
            public string id { get; set; }
            public string name { get; set; }
            public bool? hasNext { get; set; }
            public string route { get; set; }
            public string code { get; set; }
            public string description { set; get; }
            public string imageUrl { set; get; }
        }
        public List<_items> items { get; set; }
    }

    public partial class Query_Part_DetailParam
    {
        public string brandCode { get; set; }
        public string partId { get; set; }
        public int? selectorId { get; set; }
    }

    public partial class Part_Price
    {
        public string brandCode { set; get; }
        public string marketCode { set; get; }
        public string marketName { set; get; }
        public string partCode { set; get; }
        public dynamic cost { set; get; }
        public dynamic price { set; get; }
        public int? stock { get; set; }
        public string priceFC { set; get; }
        public DateTime? priceUpdatedAt { set; get; }
    }

    public partial class Query_Part_DetailResult
    {
        public int id { get; set; }
        public string partCode { get; set; }
        public string partName { get; set; }
        public string partNameEn { set; get; }
        public string marketCode { set; get; }
        public string marketName { set; get; }
        public string brandCode { get; set; }
        public string brandName { get; set; }
        public string unit { get; set; }
        public decimal? cost { get; set; }
        public decimal? price { get; set; }
        public int? stock { get; set; }
        public string priceFC { get; set; }
        public string remark { get; set; }
        public DateTime? priceUpdatedAt { get; set; }
        public partial class _partAttribute
        {
            public string partCode { set; get; }
            public string marketCode { set; get; }
            public List<_prop> props { get; set; }
            public decimal? cost { get; set; }
            public decimal? price { get; set; }
            public int? stock { get; set; }
            public DateTime? priceUpdatedAt { get; set; }
            public string priceFC { set; get; }
            public string marketName { set; get; }
            public string brandCode { set; get; }
            public string brandName { set; get; }
        }
        public List<_partAttribute> partAttributes { set; get; }
        public partial class _replacement
        {
            public string brandCode { get; set; }
            public string brandName { get; set; }
            public string marketCode { get; set; }
            public string marketName { get; set; }
            public string partCode { get; set; }
            public string partName { get; set; }
            public decimal? cost { get; set; }
            public decimal? price { get; set; }
            public int? stock { get; set; }
            public string priceFC { set; get; }
            public DateTime? priceUpdatedAt { get; set; }
            public List<_prop> props { get; set; }
        }
        public List<_replacement> replacements { get; set; }
        public partial class _prop
        {
            public string key { get; set; }
            public string value { get; set; }
        }
        public List<_prop> props { get; set; }
        public string quantity { get; set; }
        public string replacementPartNo { get; set; }
        public int? firstYear { get; set; }
        public int? lastYear { get; set; }
        public string displayPartCode { set; get; }
        public string modelFilter { set; get; }
        public string TSBem { set; get; }
        public string description { set; get; }
        public bool? disabled { set; get; }
    }


    public partial class Query_FitModelsResult
    {
        public partial class _models
        {
            public string brandCode { set; get; }
            public string partId { get; set; }
            public string description { get; set; }
            public string mainGroupId { get; set; }
            public string mainGroupCode { get; set; }
            public string mainGroupName { get; set; }
            public string subGroupId { get; set; }
            public string subGroupCode { get; set; }
            public string subGroupName { get; set; }
            public string subGroupDescCodes { set; get; }
            public string imageSN { get; set; }
            public string imageUrl { get; set; }
            public string selectorId { set; get; }
            public partial class _props
            {
                public string key { get; set; }
                public string value { get; set; }
            }
            public List<_props> props { get; set; }
            public partial class _imgs
            {
                public string partId { get; set; }
                public string url { get; set; }
                public partial class _points
                {
                    public string sn { get; set; }
                    public string x { get; set; }
                    public string y { get; set; }
                    public string w { get; set; }
                    public string h { get; set; }
                }
                public List<_points> points { get; set; }
            }
            public List<_imgs> imgs { get; set; }
        }
        public List<_models> items { get; set; }
        public Pagination pagination { get; set; }
    }
    public partial class Query_PartsParam
    {
        public string id { get; set; }
        public string vin { get; set; }
        public string brandCode { get; set; }
        public int? selectorId { get; set; }
        public string keyword { get; set; }
    }

    public partial class VinPartResult
    {
        public string vin { set; get; }
        public string mainGroupCode { set; get; }
        public string subGroupCode { set; get; }
        public string imageSN { set; get; }
        public string sn { set; get; }
        public string partCode { set; get; }
        public string partName { set; get; }
        public string subGroupId { set; get; }
    }
    public class PartCatalogResult : Query_PartsResult
    {
        public int subGroupId { set; get; }
        public string subGroupName { set; get; }
        public string mainGroupId { set; get; }
        public string mainGroupName { set; get; }
        public string sn { set; get; }
        public List<_imgs> imgs { get; set; }
    }

    public partial class _imgs
    {
        public string url { get; set; }
        public partial class _points
        {
            public string sn { get; set; }
            public string x { get; set; }
            public string y { get; set; }
            public string w { get; set; }
            public string h { get; set; }
        }
        public List<_points> points { get; set; }
    }

    public class MaintainPart
    {
        public string partCode { set; get; }
        public string standardCode { set; get; }
        public string standardName { set; get; }
    }

    public class PartCatalog
    {
        public string partCode { set; get; }
        public string partName { get; set; }
        public decimal? price { get; set; }
        public decimal? cost { get; set; }
        public DateTime? priceUpdatedAt { get; set; }
        public string replacedPartCodes { set; get; }
        public string priceFC { set; get; }
        public string marketCode { set; get; }
        public string marketName { set; get; }
        public bool? disabled { set; get; }
        public string standardCode { set; get; }
        public string standardName { set; get; }
        public partial class _group
        {
            public string partId { get; set; }
            public string mainGroupId { get; set; }
            public string mainGroupCode { get; set; }
            public string mainGroupName { get; set; }
            public string subGroupId { get; set; }
            public string subGroupCode { get; set; }
            public string subGroupName { get; set; }
            public string imageSN { get; set; }
            public string selectorId { set; get; }
            public string sn { set; get; }

            public List<_imgs> imgs { get; set; }
        }
        public List<_group> groups { get; set; }
    }


    public partial class Query_PartsResult
    {
        public string id { get; set; }
        public string partCode { get; set; }
        public string partName { get; set; }
        public string imageSN { get; set; }
        public decimal? price { get; set; }
        public decimal? cost { get; set; }
        public int? stock { get; set; }
        public string mainGroupCode { get; set; }
        public string subGroupCode { get; set; }
        public bool belongToVin { get; set; }
        public string quantity { get; set; }
        public string description { get; set; }
        public string otherDescription { set; get; }
        public string modelName { get; set; }
        public string brandCode { get; set; }
        public string brandName { get; set; }
        public string series { get; set; }
        public DateTime? priceUpdatedAt { get; set; }
        public int? selectorId { get; set; }
        public string modelNotes { set; get; }
        public string notes { set; get; }
        public string replacedPartCodes { set; get; }
        public string priceFC { set; get; }
        public string marketCode { set; get; }
        public string marketName { set; get; }
        public bool? disabled { set; get; }
    }

    public partial class Query_Group_PartsParam
    {
        public int pageSize { get; set; }
        public int pageIndex { get; set; }
        public int? groupId { get; set; }
        public string keyword { get; set; }
    }

    public partial class Query_Group_PartsResult
    {
        public string img { get; set; }
        public partial class _items
        {
            public int id { get; set; }
            public int position { get; set; }
            public string partCode { get; set; }
            public string partName { get; set; }
            public decimal cost { get; set; }
            public decimal sellingPrice { get; set; }
            public string sellingPriceFC { get; set; }
            public DateTime priceUpdatedAt { get; set; }
        }
        public List<_items> items { get; set; }
        public Pagination pagination { get; set; }
    }

    public partial class Check_Sub_Group_ImageParam
    {
        public string brandCode { get; set; }
        public string type { get; set; }
    }

    public partial class Check_Sub_Group_ImageResult
    {
    }

    public partial class Sync_Part_To_AccessoriesParam
    {
        public string brandCode { get; set; }
    }

    public partial class Sync_Part_To_AccessoriesResult
    {
        public int count { get; set; }
    }

    public partial class Query_VinParam
    {
        public string vin { get; set; }
    }

    public partial class Query_VinResult
    {
        public string vin { get; set; }
        public string brandName { get; set; }
        public string brandCode { get; set; }
        public partial class _props
        {
            public string name { get; set; }
            public string desc { get; set; }
        }
        public List<_props> props { get; set; }
        public partial class _features
        {
            public string code { get; set; }
            public string name { get; set; }
        }
        public List<_features> features { get; set; }
    }

    public partial class Insert_Vin_For_EtkaParam
    {
        public string Code { get; set; }
        public string Brand { get; set; }
        public string SalesType { get; set; }
        public string ModelYear { get; set; }
        public string Manufacturer { get; set; }
        public string ProductionDate { get; set; }
        public string ProductionCode { get; set; }
        public string EngineCode { get; set; }
        public string TransmissionCode { get; set; }
        public string EngineNumber { get; set; }
        public string CountrySymbol { get; set; }
        public string ColorInterior { get; set; }
        public string ColorTop { get; set; }
        public string ColorFinish { get; set; }
        public string ColorCarpet { get; set; }
        public string Paint { get; set; }
        public string PRNumbers { get; set; }
    }

    public partial class Insert_Vin_For_EtkaResult
    {
    }

    public partial class Insert_Vin_For_PorscheParam
    {
        public string Code { get; set; }
        public string Brand { get; set; }
        public string SalesType { get; set; }
        public string ModelYear { get; set; }
        public string Market { get; set; }
        public string ProductionDate { get; set; }
        public string SeatCombination { get; set; }
        public string EngineCode { get; set; }
        public string TransmissionCode { get; set; }
        public string CountrySymbol { get; set; }
        public string ColorInterior { get; set; }
        public string ColorTop { get; set; }
        public string ColorFinish { get; set; }
        public string ColorCarpet { get; set; }
        public string Paint { get; set; }
        public string PRNumbers { get; set; }
    }

    public partial class Insert_Vin_For_PorscheResult
    {
    }
    public partial class Query_CrumbResult
    {
        public string id { set; get; }
        public string code { set; get; }
        public string name { set; get; }
        public int step { set; get; }
        public string fieldCode { set; get; }
        public string fieldName { set; get; }
        public string selectorId { set; get; }
    }

    public class QuickPartResult
    {
        public string partCode { get; set; }
        public string partName { get; set; }
        public string replacedPartCodes { get; set; }
        public string marketCode { get; set; }
        public string marketName { get; set; }
        public decimal? cost { get; set; }
        public decimal? price { get; set; }
        public int? stock { get; set; }
        public DateTime? priceUpdatedAt { get; set; }
    }
}

